package cn.com.platform.entity;

import java.io.Serializable;

import javax.persistence.Entity;
import javax.persistence.Table;

import cn.com.easy.persistence.BaseEntity;

/**
 * 系统图片等附件
 * 
 * @author nibili 2017年6月24日
 * 
 */
@Entity
@Table(name = "pf_accessory")
public class AccessoryEntity extends BaseEntity implements Serializable {

	/** */
	private static final long serialVersionUID = 8592178940933639847L;

	/** 模块id枚举 */
	public static enum MODULE_ID_ENUM {

		MODULE_ID_ARTICLE("文章id", 1);

		/** 状态名 */
		private String name;
		/** 状态值 */
		private long value;

		/**
		 * 构造方法
		 * 
		 * @param name
		 * @param value
		 */
		private MODULE_ID_ENUM(String name, int value) {
			this.name = name;
			this.value = value;
		}

		/**
		 * 根据值 获取玫举
		 * 
		 * @param value
		 * @return
		 * @author nibili 2017年8月7日
		 */
		public static MODULE_ID_ENUM getInstance(int value) {
			for (MODULE_ID_ENUM c : MODULE_ID_ENUM.values()) {
				if (c.getValue() == value) {
					return c;
				}
			}
			return null;
		}

		/**
		 * 状态列表
		 * 
		 * @return
		 * @author nibili 2017年8月7日
		 */
		public static MODULE_ID_ENUM[] getStatusList() {
			return MODULE_ID_ENUM.values();
		}

		/**
		 * get 状态名
		 * 
		 * @return
		 * @author nibili 2017年8月7日
		 */
		public String getName() {
			return name;
		}

		/**
		 * set 状态名
		 * 
		 * @param name
		 * @author nibili 2017年8月7日
		 */
		public void setName(String name) {
			this.name = name;
		}

		/**
		 * get 状态值
		 * 
		 * @return
		 * @author nibili 2017年8月7日
		 */
		public long getValue() {
			return value;
		}

		/**
		 * set 状态值
		 * 
		 * @param value
		 * @author nibili 2017年8月7日
		 */
		public void setValue(long value) {
			this.value = value;
		}

	}

	/** 文件名称 */
	private String name;
	/** 文件相对路径 */
	private String path;
	/** 文件大小 */
	private float size;
	/** 图片宽 */
	private int width;
	/** 图片高 */
	private int height;
	/** 文件格式后缀 */
	private String ext;
	/** 备注信息 */
	private String info;
	/** 模块id，用以区分不同功能的id，前端后端，或者后端多模块的情况 */
	private long moduleId;
	/** 所属相册 */
	private Long albumId;

	/**
	 * get 模块id，用以区分不同功能的id，前端后端，或者后端多模块的情况
	 * 
	 * @return
	 * @auth nibili 2018年7月16日
	 */
	public long getModuleId() {
		return moduleId;
	}

	/**
	 * set 模块id，用以区分不同功能的id，前端后端，或者后端多模块的情况
	 * 
	 * @param moduleId
	 * @auth nibili 2018年7月16日
	 */
	public void setModuleId(long moduleId) {
		this.moduleId = moduleId;
	}

	/**
	 * get 文件名称
	 * 
	 * @return
	 * @author nibili 2017年6月24日
	 */
	public String getName() {
		return name;
	}

	/**
	 * set 文件名称
	 * 
	 * @param name
	 * @author nibili 2017年6月24日
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * get 文件相对路径
	 * 
	 * @return
	 * @author nibili 2017年6月24日
	 */
	public String getPath() {
		return path;
	}

	/**
	 * set 文件相对路径
	 * 
	 * @param path
	 * @author nibili 2017年6月24日
	 */
	public void setPath(String path) {
		this.path = path;
	}

	/**
	 * get 文件大小
	 * 
	 * @return
	 * @author nibili 2017年6月24日
	 */
	public float getSize() {
		return size;
	}

	/**
	 * set 文件大小
	 * 
	 * @param size
	 * @author nibili 2017年6月24日
	 */
	public void setSize(float size) {
		this.size = size;
	}

	/**
	 * get 图片宽
	 * 
	 * @return
	 * @author nibili 2017年6月24日
	 */
	public int getWidth() {
		return width;
	}

	/**
	 * set 图片宽
	 * 
	 * @param width
	 * @author nibili 2017年6月24日
	 */
	public void setWidth(int width) {
		this.width = width;
	}

	/**
	 * get 图片高
	 * 
	 * @return
	 * @author nibili 2017年6月24日
	 */
	public int getHeight() {
		return height;
	}

	/**
	 * set 图片高
	 * 
	 * @param height
	 * @author nibili 2017年6月24日
	 */
	public void setHeight(int height) {
		this.height = height;
	}

	/**
	 * get 文件格式后缀
	 * 
	 * @return
	 * @author nibili 2017年6月24日
	 */
	public String getExt() {
		return ext;
	}

	/**
	 * set 文件格式后缀
	 * 
	 * @param ext
	 * @author nibili 2017年6月24日
	 */
	public void setExt(String ext) {
		this.ext = ext;
	}

	/**
	 * get 备注信息
	 * 
	 * @return
	 * @author nibili 2017年6月24日
	 */
	public String getInfo() {
		return info;
	}

	/**
	 * set 备注信息
	 * 
	 * @param info
	 * @author nibili 2017年6月24日
	 */
	public void setInfo(String info) {
		this.info = info;
	}

	/**
	 * get 所属相册
	 * 
	 * @return
	 * @author nibili 2017年6月24日
	 */
	public Long getAlbumId() {
		return albumId;
	}

	/**
	 * set 所属相册
	 * 
	 * @param albumId
	 * @author nibili 2017年6月24日
	 */
	public void setAlbumId(Long albumId) {
		this.albumId = albumId;
	}

}
